import pandas as pd


def filter_machine_data(input_file: str = "售后卡顿机器分析.xlsx",
                        output_file: str = "学习机.xlsx",
                        sheet_name: str = "学习机售后机器") -> tuple[pd.DataFrame, int]:
    """
    从售后卡顿机器数据中筛选符合特定条件的机器数据

    参数:
        input_file (str): 输入Excel文件路径（包含售后卡顿机器数据）
        sheet_name (str): 读取的工作表名称，默认第一张表
        output_file (str): 输出Excel文件路径（用于保存筛选结果）

    返回:
        tuple: 包含两个元素的元组
            - pd.DataFrame: 筛选后的数据
            - int: 筛选出的记录数量

    筛选条件（同时满足所有条件）:
        //需要根据情况自定义编写
    """
    # 1. 读取原始数据
    data = pd.read_excel(input_file,sheet_name=sheet_name)

    # 2. 应用筛选条件(根据情况编写)
    filtered_data = data[
        (data['研发定位'].isnull())  # 条件1：研发定位为空
        & (data["研发初筛"].str.contains("无ANR记录，试用无卡顿", na=False))  # 条件2：包含特定文本
        & (data['  机器归还日期'].isnull())  # 条件3：机器未归还
        & (data['问题分类'] != "硬件") # 条件4：非硬件问题
        ]

    # 3. 保存结果到Excel
    filtered_data.to_excel(output_file, index=False)

    return filtered_data, filtered_data['SN号'].size

def main():
    input_excel = "售后卡顿机器分析.xlsx"  # 输入文件路径
    # sheet_name = "墨水屏售后机器"
    output_excel = "学习机.xlsx"  # 输出文件路径

    # 调用函数执行筛选
    result_data, record_count = filter_machine_data(input_excel, output_excel)

    print(result_data["SN号"])
    # 打印执行结果摘要
    print(f"\n处理完成！已将筛选结果保存到 {output_excel}")
    print(f"共筛选出 {record_count} 条符合条件的记录")

# 使用示例
if __name__ == "__main__":
    main()